
#include <leaf/osiface.h>
#include "tasks/choices_api.h"
#include "tasks/hitwall.h"
static SysMsg hwmsg;
DEF_OSISR( INT5_vect )
{
	enter_kernel();

	clr_bit( EIMSK, INT5 );
	post_choice_msg( &hwmsg, HitWall );

	exit_kernel();
}

void hw_init( void )
{
	clr_bit( DDRE, PE5 );
	set_bit( PORTE, PE5 );

	/*  设置合适的中断触发方式 */
		cli();         //关全局中断
		EIMSK = 0x00;    //屏蔽所有外部中断
		set_bit( EICRB, ISC51 );
		clr_bit( EICRB, ISC50 );     //外部中断5下降沿触发
	//	EIFR = 0xFF;   //清除中断标志
		sei();
}

void hw_start( void )
{
	set_bit( EIFR, INT5 );
	set_bit( EIMSK, INT5 );
}

void hw_stop( void )
{
	clr_bit( EIMSK, INT5 );
}
